Operating System 是電腦上管理和協調所有硬體和軟體資源的系統軟體,目前廣泛使用的作業系統有 Microsoft Windows , Linux Apple MacOS 以及智慧型手機和平板電腦用的 Android/iOS。
安全的應用系統在安全的作業系統下運行才部會讓駭客有入侵的機會,本文將以 ethical hacking 角度來介紹作業系統的基本觀念。
Kernel
Kernel 是作業系統的核心,它控制所有系統下的活動,Kernal 是開機時第一個載入的程式,Kernal 執行一些重要工作,如 memory management, device management, managing system calls。
File System
定義資料如何存取儲存裝置的資料,不同的作業系統有不同型態的檔案系統。
Operating System | File Systems Used |
---|---|
Microsoft Windows | FAT16, FAT32, NTFS |
Linux | EXT2, EXT32, EXT4, XFS, ReiserFS, YAFFs |
MacOS | HFS+ |
Memory Management
當應用程式執行時,作業系統必必須分配一記憶體區域來儲存應用程式的暫時性資料。
分配記憶體的方式有兩種:stack-based 和 heap-based memory allocation
在電腦處理器上執行的 Windows 有兩種模式 Kernel mode 和 User mode。處理器視程式碼型態在這兩種模式間切換。
Linux 系統直接管理系統的硬體和資源,例如 CPU, 記憶體(memory) 和儲存裝置( storage),為建立一完整的系統 Linux Kernel 是有一系列的 packages 和 utilities 組合而成,這些軟體統稱 Linux distributions
Linux 的元件包括 Hardware, Kernel, Shell, Applications or Utilities, System Libraries, Daemons, 和 Graphical server
Linux 的特性: Portability, Open Source, Multiuser, Multiprogramming, Hierarchical File System, Shell, 和 Security
以下台文(白話字)
source:Ethical Hacking and Countermeasures by EC-Council P.3572
macOS sī Apple kong-si khai-hoat chhut-lâi ê closed-source tô͘-hêng kài-bīn ê chò-gia̍p(operating) hē-thóng. I sī Apple Mac tiān-náu ê chò-gia̍p(operating) hē-thóng. I the̍h-kiong koh khah ún-tēng kah sìn-lāi ê pîⁿ-tâi, koh chi-chhî pre-emptive multitasking kah kì-ek-thé pó-hō͘.
Cocoa Application layer:Pau-koat kiàn-li̍p app sú-iōng-lâng kài-bīn ê ki-su̍t.
Media layer: Pau-hâm pò-chhut, lo̍k-chè, pian-chi̍p siaⁿ-im kap iáⁿ-phìⁿ mûi-thé choan-bûn ê ki-su̍t.
Core Services layer: Pau-koat ki-pún ê ho̍k-bū kah ki-su̍t, hoān-ûi tùi chū-tōng chham-khó kè-sǹg kàu jī-chhoàn chhau-khòng kah chu-liāu keh-sek-hòa.
Core OS layer: Kah hardware hām bāng-lō͘ siong-koan ê thêng-sek kài-bīn.
Kernel and Device Drivers layer: Pau-koat support tóng-àn hē-thóng, bāng-lō͘, chu-an, IPC, thêng-sek gí-giân, kah kî-thaⁿ ê kang-kū.